home *** CD-ROM | disk | FTP | other *** search
/ BMUG Revelations / BMUG Revelations.toast / Utilities / Text and Speech / BBEdit 2.2.2 / BBEdit Extensions / Sources / ExternalInterface.h < prev    next >
Text File  |  1992-09-27  |  2KB  |  71 lines

  1. typedef struct {
  2.     short    version;
  3.     
  4.     //    version 1 callbacks
  5.     
  6.     pascal    Handle     (*GetWindowContents)(WindowPtr w);
  7.     pascal    void    (*GetSelection)(long *selStart, long *selEnd, long *firstChar);
  8.     pascal    void    (*SetSelection)(long selStart, long selEnd, long firstChar);
  9.     pascal    void    (*GetDocInfo)(WindowPtr w, Str255 fName, short *vRefNum, long *dirID);
  10.     pascal    long    (*GetModDate)(WindowPtr w);
  11.     pascal    Handle    (*Copy)(void);
  12.     pascal    Handle    (*Paste)(Handle pasteText);
  13.     
  14.     //    version 2 callbacks
  15.     
  16.     /*    Text-Editing stuff */
  17.     pascal    long        (*GetLastLine)(void);
  18.     pascal    long        (*GetLineNumber)(long selection);
  19.     pascal    long        (*GetLineStart)(long selection);
  20.     pascal    long        (*GetLineEnd)(long selection);
  21.     pascal    long        (*GetLinePos)(long line);
  22.     
  23.     pascal    void        (*Insert)(char *text, long len);
  24.     pascal    void        (*Delete)(void);
  25.     
  26.     /*    Getting and Setting window text */
  27.     pascal    void        (*SetWindowContents)(WindowPtr w, Handle h);
  28.     pascal    void        (*ContentsChanged)(WindowPtr w);
  29.     
  30.     /*    Reading file text */
  31.     pascal    Handle        (*GetFileText)(short vRefNum, long dirID, Str255 fName, Boolean *canDispose);
  32.  
  33.     /*    Direct user-interface calls */
  34.     pascal    Boolean        (*GetFolder)(Str255 prompt, short *vRefNum, long *dirID);
  35.     pascal    Boolean        (*OpenSeveral)(Boolean sort, short *file_count, StandardFileReply ***files);
  36.     
  37.     pascal    DialogPtr    (*CenterDialog)(short dialogID);
  38.     pascal    Boolean        (*StandardFilter)(DialogPtr d, EventRecord *event, short *item);
  39.     pascal    void        (*FrameDialogItem)(DialogPtr d, short item);
  40.     
  41.     pascal    WindowPtr    (*NewDocument)(void);
  42.     pascal    WindowPtr    (*OpenDocument)(void);
  43.  
  44.     /*    Utility Routines */
  45.     pascal    Handle        (*Allocate)(long size, Boolean clear);
  46.     pascal    long        (*FindPattern)(char *text, long text_len, long text_offset, 
  47.                                         char *pat, long pat_len,
  48.                                         Boolean case_sensitive);
  49.     
  50.     pascal    void        (*ReportOSError)(short code);
  51.     
  52.     /*    Preference routines */
  53.     pascal    void        (*GetPreference)(ResType prefType, short req_len, void *buffer, short *act_len);
  54.     pascal    void        (*SetPreference)(ResType prefType, short req_len, void *buffer, short *act_len);
  55.  
  56.     /*    Progress routines */
  57.     pascal    void        (*StartProgress)(Str255 str, long total, Boolean cancel_allowed);
  58.     pascal    Boolean        (*DoProgress)(long done);
  59.     pascal    void        (*DoneProgress)(void);
  60.     
  61. } ExternalCallbackBlock;
  62.  
  63. /*    
  64.     'main' for a BBXT is declared:
  65.     
  66. pascal void main(ExternalCallbackBlock *callbacks, WindowPtr w);        [C]
  67.  
  68. PROCEDURE Main(callbacks : ExternalCallbackBlock; w : WindowPtr);    [Pascal]
  69.  
  70. */
  71.